至於,為甚麼modern enterprise software 或是企業需要Vault?
原因在於前面提到的,我們需要一個完整的機制去管理這些Credentials,以及它的生命週期(initial、expired、revoke、rotation等)
在一個相對擁有較高等級的資安的應用程式中,這些Credentials都不應該是永久有效的,最好也是需要定期更換密碼。
但Vault的優勢在於,不需要透過純人工的方式去管理這些credentials,甚至也不應該讓應用程式自己去管理,大大降低了資安風險。
因此,Application 不應該負責 Secret 的儲存、產生、Rotation 與生命週期管理,而是在需要時向 Vault 取得被授權的 Secret。
總之,Vault 將 Secrets Management 從 Application 與人工維運中抽離出來,透過集中式的 Authentication、Authorization 與 Secret Lifecycle Management,管理 Credentials 的建立、發放、更新、Rotation、Expiration 與 Revocation。
而企業真正得到的好處就是:降低 hard-coded secrets、長期 credentials、人工 rotation、人為錯誤,以及 credential 洩漏後長時間有效所帶來的風險。